/**
 * 描述项接口
 */
export interface DescriptionItem {
  /**
   * 标签文本
   */
  label: string
  /**
   * 内容文本或HTML
   */
  content: string | HTMLElement
  /**
   * 自定义样式类名
   */
  className?: string
  /**
   * 是否高亮显示
   * @default false
   */
  highlight?: boolean
  /**
   * 左侧图标
   */
  icon?: string
  /**
   * 是否显示冒号
   * @default true
   */
  colon?: boolean
  /**
   * 自定义样式
   */
  style?: CSSProperties
}

/**
 * 描述列表组件属性
 */
export interface DescriptionListProps {
  id?: string
  /**
   * 列表标题
   */
  title?: string
  /**
   * 描述项数组
   */
  items?: DescriptionItem[]
  /**
   * 布局方式
   * @default 'horizontal'
   */
  layout?: 'horizontal' | 'vertical'
  /**
   * 标签对齐方式
   * @default 'right'
   */
  labelAlign?: 'left' | 'right' | 'center'
  /**
   * 内容对齐方式
   * @default 'left'
   */
  contentAlign?: 'left' | 'right' | 'center'
  /**
   * 是否显示分割线
   * @default true
   */
  divider?: boolean
  /**
   * 主题颜色
   * @default '#1890ff'
   */
  themeColor?: string
  /**
   * 自定义类名
   */
  className?: string
  /**
   * 自定义样式
   */
  style?: CSSProperties
}

/**
 * 默认属性值
 */
export const DEFAULT_DESCRIPTION_LIST_PROPS: Partial<DescriptionListProps> = {
  layout: 'horizontal',
  labelAlign: 'right',
  contentAlign: 'left',
  divider: false,
  themeColor: '#1890ff',
}
